const $ = require('../../utils/util.js');

// pages/searchlist/searchlist.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    keyword: "",
    courseList: [],//课程搜索结果的列表
    tid: 0,//主要课程的分类id
    guiges: [],//搜索出来的主要课程的规格列表
    guigeSelect: []//规格选中的数组 [{gid:1,valid:17},{gid:5,valid:29}]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var keyword = options.keyword;
    console.log("搜索的关键词：" + keyword);

    this.setData({
      keyword: keyword
    });

    //开始进行搜索
    this.searchRequest();
  },

  /**
   * 进行搜索
   */
  searchRequest(){
    $.ajax({
      type: "POST",
      url: "/search/course/courseByKeyword",
      data: {
        keyword: this.data.keyword,
        guiges: JSON.stringify(this.data.guigeSelect)
      },
      success: (data) => {
        //设置搜索结果列表
        this.setData({
          courseList: data
        });

        //获取第一门课程的所属分类 -> 查询当前分类下的所有规格信息
        if(data && data.length > 0) {
          this.setData({
            tid: data[0].tid
          });
          
          //搜索指定分类下的所有规格信息
          this.queryGuigesByTid();
        }
        
      }
    });
  },

  /**
   * 根据分类id查询该方法下的所有规格信息
   */
  queryGuigesByTid(){
    $.ajax({
      url: "/course/type/guigeListSelected",
      data: {
        tid: this.data.tid
      },
      success: (data) =>{
        console.log("规格列表：", data);
        this.setData({
          guiges: data
        });
      }
    });
  },

  /**
   * 规格的改变的事件
   */
  guigeChange(data){
    console.log("---->", data);
    //获取当前被选中的规格列表
    var guigeIds = data.detail.value;
    //解析规格
    var guigeIdsArr = guigeIds.split("-");
    //规格id
    var gid = guigeIdsArr[0];
    //规格值的id
    var valid = guigeIdsArr[1];
    //封装层一个规格对象
    var gg = {};
    gg.gid = gid;
    gg.valid = valid;

    //移除已经存在的规格选型
    for(var i = 0; i < this.data.guigeSelect.length; i++){
      var gs = this.data.guigeSelect[i];
      if(gs.gid == gid){
        //移除当前这个对象
        this.data.guigeSelect.splice(i, 1);
        break;
      }
    }

    //放入数组中
    this.data.guigeSelect.push(gg);

    //重新发送搜索请求
    this.searchRequest();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})